//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 CameraPositionVS;
//   float3 DecalLocalNormal;
//   float3 DecalLocation;
//   float4x4 DecalMatrix;
//   float2 DecalOffset;
//   float4 FOGINSCAttering[4];
//   float4 FogMaxHeight;
//   sampler2D HeightmapTexture;
//   float4 HeightmapUVScaleBias;
//   float4 LightPositionAndInvRadius;
//   float4x4 LocalToWorld;
//   float4 LodBias;
//   float4 LodDistancesValues;
//   float4 LodValues;
//   float4 SharedFogParameter0;
//   float4 SharedFogParameter1;
//   float4 SharedFogParameter2;
//   float4 SharedFogParameter3;
//   float4 SubsectionSizeVertsLayerUVPan;
//   float3 TemporalAAParameters;
//   float4x4 ViewProjectionMatrix;
//   float3x3 WorldToLocalNoScaling;
//   float bUseExponentialHeightFog;
//
//
// Registers:
//
//   Name                          Reg   Size
//   ----------------------------- ----- ----
//   ViewProjectionMatrix          c0       4
//   CameraPositionVS              c4       1
//   LocalToWorld                  c6       4
//   DecalMatrix                   c10      4
//   FOGINSCAttering               c14      4
//   WorldToLocalNoScaling         c18      3
//   TemporalAAParameters          c21      1
//   DecalLocation                 c22      1
//   DecalOffset                   c23      1
//   DecalLocalNormal              c24      1
//   HeightmapUVScaleBias          c25      1
//   LodBias                       c26      1
//   LodValues                     c27      1
//   LodDistancesValues            c28      1
//   SubsectionSizeVertsLayerUVPan c29      1
//   SharedFogParameter0           c30      1
//   SharedFogParameter1           c31      1
//   SharedFogParameter2           c32      1
//   SharedFogParameter3           c33      1
//   bUseExponentialHeightFog      c34      1
//   FogMaxHeight                  c35      1
//   LightPositionAndInvRadius     c36      1
//   HeightmapTexture              s0       1
//

    vs_3_0
  def c253, 0, 0, 0.0625, 1
    def c43, 0.0078125, 0.00999999978, -0.00999999978, 0.00100000005
    def c42, 0.5, 65280, 255, -32768
    def c44, 0.499000013, 0.5, 0, 0
    def c41, 1, -1, 0, 2
    def c37, 1, 0, 0, 0
    def c38, 0, 1, 0, 0
    def c39, 0, 0, 1, 0
    def c40, 0, 0, 0, 1
  dcl_2d s0
    dcl_position v0
    dcl_2d s0
    dcl_texcoord o0.xyz
    dcl_texcoord1 o1
    dcl_texcoord3 o2
    dcl_texcoord4 o3
    dcl_texcoord6 o4
    dcl_texcoord7 o5.xyz
    dcl_texcoord5 o6
    dcl_position o7
    mul r0, c27.wwyy, v0.xyxy
    mad r1, r0.yxxy, c41.xxyy, c41.zzxx
    add r2, r1, r1
    add r0.x, v0.y, v0.x
    slt r0.x, c27.z, r0.x
    slt r0.y, v0.x, v0.y
    mad r0.x, r0.x, c41.w, r0.y
    mad r1, r1, -c41.w, c41.x
    mul r1, r1, c28
    mad r1, r2, c27.x, r1
    mova a0.x, r0.x
    dp4 r0.x, r1, c37[a0.x]
    frc r0.y, r0.x
    add r0.x, -r0.y, r0.x
    mov r1, c37
    if_lt c27.x, r1.x
      add r2.x, r0.y, -c26.x
      add r2.y, r0.x, c37.x
      mul r2.x, r2.y, r2.x
      add_sat r2.x, r2.x, r2.x
    else
      add r0.y, r0.y, -c26.x
      mul_sat r2.x, r0.y, c26.y
    endif
    exp r0.y, -r0.x
    mad r3.xy, c29.x, r0.y, -r1.x
    add r0.y, -r0.x, -c37.x
    exp r0.y, r0.y
    mul r0.y, r0.y, c29.x
    max r0.y, r0.y, c41.w
    add r3.zw, r0.y, -c37.x
    mul r3, r3, c29.y
    mad r4, r0.zwzw, r3, c42.x
    frc r5, r4
    add r4, r4, -r5
    rcp r0.y, r3.y
    mul r3.xy, r0.y, r4
    mad r0.yz, r3.xxyw, c25.xxyw, c25.xzww
    mov r4.xy, c25
    mad r5.xy, r4, c42.x, r0.yzzw
    add r5.w, r0.x, -c26.z
    mov r5.z, c37.w
    texldl r0, r5, s0
    mul r0.xy, r0, c42.yzzw
    add r0.x, r0.y, r0.x
    add r0.x, r0.x, c42.w
    mul r3.z, r0.x, c43.x
    rcp r0.x, r3.w
    mul r0.xy, r0.x, r4.zwzw
    mad r2.yz, r0.xxyw, c25.xxyw, c25.xzww
    mad r6.xy, r4, c42.x, r2.yzzw
    add r6.zw, r5, c37.xyyx
    texldl r5, r6, s0
    mul r2.yz, r5.xxyw, c42
    add r0.w, r2.z, r2.y
    add r0.w, r0.w, c42.w
    mul r0.z, r0.w, c43.x
    lrp r5.xyz, r2.x, r0, r3
    mul r0, r5.y, c7
    mad r0, c6, r5.x, r0
    mad r0, c8, r5.z, r0
    add r0, r0, c9
    mul r2, r0.y, c1
    mad r2, c0, r0.x, r2
    mad r2, c2, r0.z, r2
    mad r2, c3, r0.w, r2
    mul r3.x, r2.w, c21.z
    mad r2.xy, r3.x, c21, r2
    mad r3.xy, r5, c25, c25.zwzw
    mad o0.xy, r4, c42.x, r3
    mad r1, c22.xyzx, r1.xxxw, r1.yyzx
    add r1, r0, -r1
    mul r3.xy, r1.y, c11
    mad r1.xy, c10, r1.x, r3
    mad r1.xy, c12, r1.z, r1
    mad r1.xy, c13, r1.w, r1
    add r1.xy, -r1, c23
    add o1.xy, r1, c42.x
    add r1.xyz, -r0, c22
    dp3 r0.w, r1, c24
    mov r1.xyz, c24
    mul r3, r1.y, c7
    mad r3, c6, r1.x, r3
    mad r1, c8, r1.z, r3
    dp4 r1.x, r1, r1
    rsq r1.x, r1.x
    mul o1.w, r0.w, r1.x
    mad r1.xyz, r0, -c4.w, c4
    mul r3.xyz, r1.y, c19
    mad r1.xyw, c18.xyzz, r1.x, r3.xyzz
    mad o4.xyz, c20, r1.z, r1.xyww
    mov r1.xyz, c36
    mul r3.xyz, r1.y, c19
    mad r1.xyw, c18.xyzz, r1.x, r3.xyzz
    mad o2.xyz, c20, r1.z, r1.xyww
    abs r0.w, c34.x
    if_lt -r0.w, r0.w
      add r1.xyz, r0, -c4
      dp3 r0.w, r1, r1
      rsq r0.w, r0.w
      rcp r1.w, r0.w
      add r1.w, r1.w, -c30.w
      max r1.w, r1.w, c37.w
      mul r1.w, r1.w, c30.x
      slt r3.x, c43.y, r1_abs.z
      add r3.y, r1.z, c43.z
      mad r3.x, r3.x, r3.y, c43.y
      mul r3.y, r3.x, -c30.y
      exp r3.y, r3.y
      add r3.y, -r3.y, c37.x
      mul r3.x, r3.x, c30.y
      rcp r3.x, r3.x
      mul r3.x, r3.x, r3.y
      mul r1.w, r1.w, r3.x
      mul r1.xyz, r0.w, r1
      dp3 r0.w, c33, r1
      mad r0.w, r0.w, -c44.x, c44.y
      pow r1.x, r0.w, c30.z
      mov r3.xyz, c32
      add r3.xyz, -r3, c31
      mad r1.xyz, r1.x, r3, c32
      exp r0.w, -r1.w
      min r0.w, r0.w, c37.x
      max r0.w, r0.w, c31.w
      add r1.w, -r0.w, c37.x
      mul o3.xyz, r1.w, r1
      mov o3.w, r0.w
    else
      add r0.xyz, r0, -c4
      dp3 r0.x, r0, r0
      rsq r0.x, r0.x
      rcp r0.x, r0.x
      mov r1.z, c4.z
      add r3, -r1.z, c33
      sge r0.y, c43.w, r0_abs.z
      lrp r1.x, r0.y, c43.w, r0.z
      rcp r0.y, r1.x
      mul_sat r3, r0.y, r3
      add r1, -r1.z, c35
      mul_sat r1, r0.y, r1
      add r0, r0.x, -c32
      max r0, r0, c37.w
      add r1, -r3, r1
      mul r0, r0, r1_abs
      slt r1, r0, c31
      mul r0, r0, c30
      exp r3.x, r0.x
      exp r3.y, r0.y
      exp r3.z, r0.z
      exp r3.w, r0.w
      mul r0, r1, r3
      mad r1, r1, r3, -c37.x
      mul r3.xyz, r1.x, c14
      mov r3.w, r0.x
      mul r3, r0.y, r3
      mad r3.xyz, r1.y, c15, r3
      mul r3, r0.z, r3
      mad r3.xyz, r1.z, c16, r3
      mul r0, r0.w, r3
      mad o3.xyz, r1.w, c17, r0
      mov o3.w, r0.w
    endif
    mov o0.z, c37.w
    mov o1.z, c37.x
    mov o2.w, c37.w
    mov o4.w, c37.x
    mov o5.xyz, c20
    mov r12, r2
    mov o7, r2
 texldl r11, c253.z, s0
 if_ne r12.w, c253.w
 add r11.y, r12.w, -r11.y
 mul r11.x, r11.x, r11.y
 add r12.x, r12.x, r11.x
 endif
 mov o6, r12

// approximately 177 instruction slots used (4 texture, 173 arithmetic)
 

